home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / misc / frefs11.lha / FetchRefs / Rexx / GoFetchRefs.rexx < prev    next >
OS/2 REXX Batch file  |  1994-10-28  |  2KB  |  62 lines

  1. /*   $VER: GoFetchRexx.rexx 1.1 (28.10.94)
  2. **
  3. **   ARexx script to invoke FetchRefs from Shell (using rx).
  4. */
  5.  
  6. /* Set some options of ARexx */
  7. OPTIONS RESULTS
  8. OPTIONS FAILAT 21
  9.  
  10. /* Get the search strings */
  11. PARSE ARG function
  12.  
  13. /* Define a temporary filename to put the reference into */
  14. cutat = VERIFY(function, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890_")
  15. if cutat > 0 THEN
  16.     basename = LEFT(function, cutat - 1)
  17. ELSE
  18.     basename = function
  19.  
  20. filename = 'T:'basename
  21.  
  22. /* It doesn't matter whether we want a taglist, varargs og whatever function */
  23. IF RIGHT(function, 7) = "TagList" THEN
  24.     function = LEFT(function, LENGTH(function) - 7)
  25. ELSE IF RIGHT(function, 4) = "Tags" THEN
  26.     function = LEFT(function, LENGTH(function) - 4)
  27. ELSE IF RIGHT(function, 1) = "A" THEN
  28.     function = LEFT(function, LENGTH(function) - 1)
  29.  
  30. /* Now actually get the reference */
  31. ADDRESS 'FETCHREFS'
  32. FR_GET function || '(%|Tags|TagList|A)' filename FILEREF CASE
  33.  
  34. /* Address editor again to load the file */
  35. ADDRESS VALUE caller
  36.  
  37. IF rc ~= 0 THEN DO
  38.     /* Skip if the error was '.....!'. This occours whenever the 'select
  39.      * from what file' window is closed, which is not really an error, so 
  40.      * I don't want it reported.
  41.      */
  42.     IF RIGHT(rc2, 1) = '!' THEN
  43.         EXIT 0
  44.  
  45.     /* Report the error (obtained from FetchRefs) */
  46.     say RC2
  47.  
  48.     /* Return */
  49.     EXIT 0
  50. END
  51. ELSE DO
  52.     /* Print the reference */
  53.     ADDRESS COMMAND 'Type' filename
  54.  
  55.     /* Delete the temporary file */
  56.     ADDRESS COMMAND 'Run >NIL: C:Delete >NIL:' filename
  57.  
  58.     /* Return */
  59.     EXIT 0
  60. END
  61.  
  62.